﻿using CTP.CRM.Core.Configuration.AutoRegistOptions;

namespace CTP.CRM.Core.Swagger.Options
{
    public class SwaggerOptions : IOptionAutoInjection
    {
        public class DocumentItemOptionDto
        {
            //
            // 摘要:
            //     分组名称
            public string GroupName { get; set; }

            //
            // 摘要:
            //     json文件名称
            public string JsonFileUrl { get; set; }

            //
            // 摘要:
            //     说明
            public string Description { get; set; }
        }

        //
        // 摘要:
        //     是否启用Swagger
        public bool IsEnable { get; set; }

        //
        // 摘要:
        //     服务请求地址，只有发布环境生效
        public string ServiceUrl { get; set; }

        //
        // 摘要:
        //     json文件路径前缀,解决二级域名或网关转发后找不到swagger.json的问题，只有发布环境生效
        public string JsonUrlPrefix { get; set; }

        //
        // 摘要:
        //     全局扫描程序集或xml文件时只加载以【数组内容】开头的程序集或xml文件
        public string[] ScanPrefix { get; set; }

        //
        // 摘要:
        //     文档信息
        public List<DocumentItemOptionDto> DocumentItems { get; set; }
    }
}
